A Framework for Deterministically Interleaved Interactive Programs in the Functional Programming Language Clean

نویسنده

  • PETER ACHTEN
چکیده

In this paper we present a functional interleaved Event I/O system . This system is a generalization of the Event I/O system as incorporated into the lazy, purely functional programming language Clean. The Interleaved Event I/O system offers features that are more commonly found outside the functional scene. These features are dynamic process creation, and two well-known forms of inter-process communication: asynchronous message passing , and data sharing . Both forms of communication are polymorphic and type-safe. As we are working in a functional language, messages can contain higher-order functions and arbitrarily complex algebraic types. Communication by data sharing is a restricted form of communication by global data structures. Nevertheless, the new system is still completely functional because the generalization is done within the pure functional framework. The Interleaved Event I/O system has been implemented and will become part of the new release of Clean.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Concurrent Interactive Processes in a Pure Functional Language

In this paper we present an operational semantics for concurrent interactive processes in the purely functional programming language Clean. An interactive process is in essence a state transition system which apart from its logical state can also access the state of the file system, do highlevel Graphical User I/O, and do inter-process communication via synchronous and asynchronous message pass...

متن کامل

Interactive Functional Objects in Clean

The functional programming language Clean has a high level I/O system (version 0.8) in which complex yet eecient interactive programs can be created. In this paper we present its successor (version 1.0), the object I/O system. We consider some of the design considerations that have innuenced the design of the new I/O system greatly. Key issues are compositionality, orthogonality, and extensibil...

متن کامل

Clean-CORBA Interface for Parallel Functional Programming on Clusters

The presented Clean-CORBA interface opens the way for developing parallel and distributed applications consisting of components written in a functional programming language, Clean. The interface defines a language mapping from the IDL language used by CORBA to Clean. It contains an IDL-to-Clean compiler which generates the necessary stub and skeleton routines from the IDL files. The interface i...

متن کامل

The implementation of interactive local statetransition systems in

The functional programming language Clean ooers an extensive library, the object I/O library, to programmers to create interactive applications that use Graphical User Interfaces (GUI). Programs are constructed by composition of interactive objects. Interactive objects share state. To support modular programming it is also possible to provide objects with local state. Hierarchies of stateful ob...

متن کامل

Defining and Proving Invariants of Clean Programs

In a pure functional language like Clean the variables represent constant values; variables do not change in time. Hence it seems that temporality has no meaning in functional programs. However, in certain cases (e.g. in interactive or distributed programs, or in those that use IO) a series of values computed from one another can be considered as different states of the same “abstract object”. ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994